namespace CRM.DataAccess.Entities
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Data.Entity.Spatial;

    public partial class CONTACT_DETAIL
    {
        [Key]
        [Column(Order = 0)]
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        public long CONTACT_ID { get; set; }

        public long? ASSIGN_TO_ID { get; set; }

        public long? OrgID { get; set; }

        public long? CREATED_BY { get; set; }

        [StringLength(100)]
        public string SUR_NAME { get; set; }

        [StringLength(100)]
        public string NAME { get; set; }

        [Key]
        [Column(Order = 1)]
        public DateTime DATE_ENTERED { get; set; }

        [StringLength(25)]
        public string PHONE_OFFICE { get; set; }

        [StringLength(100)]
        public string ORGANIZATION_NAME { get; set; }

        [StringLength(50)]
        public string DESIGNATION { get; set; }

        [StringLength(100)]
        public string PRIMARY_EMAIL { get; set; }

        [StringLength(301)]
        public string ASSIGN_TO { get; set; }

        [StringLength(50)]
        public string SALUTATION_NAME { get; set; }

        [StringLength(50)]
        public string STATUS_NAME { get; set; }

        [StringLength(25)]
        public string PHONE_MOBILE { get; set; }

        [StringLength(25)]
        public string PHONE_HOME { get; set; }

        [StringLength(50)]
        public string LEAD_SOURCE_NAME { get; set; }

        [StringLength(25)]
        public string PHONE_SECONDARY { get; set; }

        [StringLength(100)]
        public string DEPARTMENT { get; set; }

        [StringLength(25)]
        public string FAX { get; set; }

        public DateTime? DATE_OF_BIRTH { get; set; }

        [StringLength(100)]
        public string SECONDARY_EMAIL { get; set; }

        public DateTime? SUPPORT_START_DATE { get; set; }

        public DateTime? SUPPORT_END_DATE { get; set; }

        [StringLength(150)]
        public string OFFICE_STREET { get; set; }

        [StringLength(150)]
        public string HOME_STREET { get; set; }

        [StringLength(100)]
        public string OFFICE_PO_BOX { get; set; }

        [StringLength(100)]
        public string HOME_PO_BOX { get; set; }

        [StringLength(100)]
        public string OFFICE_CITY { get; set; }

        [StringLength(100)]
        public string HOME_CITY { get; set; }

        [StringLength(100)]
        public string OFFICE_STATE { get; set; }

        [StringLength(100)]
        public string HOME_STATE { get; set; }

        [StringLength(100)]
        public string OFFICE_ZIP { get; set; }

        [StringLength(100)]
        public string HOME_ZIP { get; set; }

        [StringLength(100)]
        public string OFFICE_COUNTRY { get; set; }

        [StringLength(100)]
        public string HOME_COUNTRY { get; set; }

        public string PICTURE { get; set; }

        [Key]
        [Column(Order = 2)]
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        public long STATUS_ID { get; set; }

        public long? SALUTATION_ID { get; set; }

        public long? ORGANIZATION_ID { get; set; }

        public long? LEAD_SOURCE_ID { get; set; }

        public long? ASSIGNED_USER_ID { get; set; }

        [Key]
        [Column(Order = 3)]
        public double POINTS { get; set; }

        [Key]
        [Column(Order = 4)]
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        public long LOYALTY_ID { get; set; }

        [Key]
        [Column(Order = 5)]
        [StringLength(250)]
        public string LOYALTY_NAME { get; set; }

        [Key]
        [Column(Order = 6)]
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        public long LOYALTY_STARTER_ID { get; set; }

        public bool? APPOINTMENT { get; set; }

        [StringLength(1000)]
        public string NO_APPOINTMENT_REASON { get; set; }

        public bool? QUOTATION_ISSUE { get; set; }

        public bool? QUOTATION_ISSUE_IS_PENDING { get; set; }

        public bool? QUOTATION_ISSUE_IS_REJECTED { get; set; }

        [StringLength(1000)]
        public string QUOTATION_ISSUE_REJECTED_RREASON { get; set; }

        public bool? QUOTATION_ISSUE_IS_CALL_BACK { get; set; }

        public bool? QUOTATION_ISSUE_IS_APPOINTMENT { get; set; }

        public bool? DEPOSIT_COLLECTED { get; set; }

        [StringLength(1000)]
        public string DEPOSIT_COLLECTED_NO_REASON { get; set; }

        public double? DEPOSIT_COLLECTED_AMOUNT { get; set; }

        public bool? DEPOSIT_INVOICE_ISSUE { get; set; }

        [StringLength(1000)]
        public string NO_DEPOSIT_INVOICE_ISSUE_REASON { get; set; }

        public bool? PROCESS_ORDER_IS_PENDING { get; set; }

        public DateTime? PROCESS_ORDER_PENDING_DATE { get; set; }

        public bool? PROCESS_ORDER_IS_COMPLETED { get; set; }

        public bool? PROCESS_ORDER_FULL_INVOICE_ISSUE { get; set; }

        public bool? PAYMENT_COLLECTION { get; set; }

        [StringLength(1000)]
        public string PAYMENT_COLLECTION_NO_REASON { get; set; }

        public bool? IS_CLOSE_CASE { get; set; }

        [StringLength(201)]
        public string CONTACT_NAME { get; set; }

        [StringLength(25)]
        public string CONTACT_NUMBER { get; set; }

        [StringLength(200)]
        public string COMPANY_WEBSITE { get; set; }

        [StringLength(100)]
        public string MEMBER_OF { get; set; }

        [StringLength(10)]
        public string STATUS_FINAL_STEP { get; set; }

        [StringLength(1000)]
        public string STATUS_NOTE { get; set; }

        [Key]
        [Column(Order = 7)]
        [StringLength(7)]
        public string STAGE { get; set; }
    }
}
